iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
0
自我挑戰組

自我前端學習筆記系列 第 2

DAY2-學習筆記:JavaScript Hoisting

  • 分享至 

  • xImage
  •  

Hoisting

JS跑程式碼時是由上至下,hoisting定義是把變項移到最前面先執行。

1.若未宣告變數,直接輸出

console.log(a)

結果:a--> is not defined

2.宣告變數後輸出

var a = 3;
console.log(a)

結果:a--> 3

3.兩者順序相反時

console.log(a)
var a = 3;

結果: a-->undefined

變數hoisting

  • 會先把變項var a移至最上層,但不賦予值
  • 此時3執行完hoisting,為var a;
  • 執行console.log(a)
  • 因此a這個變數,已被宣告,還未附值,顯示undefined,而不是1.未宣告變數,直接輸出-->is not defined

4.以函式方式

function count() {
console.log('hello!');
}
count(); 

結果-->hello

5.兩者順序相反時

count(); 
function count() {
console.log('hello!');
}

結果-->hello

函式hositing

會把變項funtion(){.....}先移到最上方執行,因此執行碼count()不管於函式的上方或下方宣告,結果都為hello。


上一篇
DAY1-CSS: 學習筆記 .nth-child(an+b) 與 nth-of-type(an+b)
下一篇
DAY3-JQuery 學習筆記 Callback 函数
系列文
自我前端學習筆記3
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言